home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / CPP / WFC010.ZIP / INCLUDE / LSOCKETS.HPP < prev    next >
C/C++ Source or Header  |  1995-12-07  |  2KB  |  60 lines

  1. #ifndef LISTENING_SOCKET_CLASS_HEADER
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like as long as you don't try to sell it.
  9. **
  10. ** Any attempt to sell WFC in source code form must have the permission
  11. ** of the original author. You can produce commercial executables with
  12. ** WFC but you can't sell WFC.
  13. **
  14. ** Copyright, 1995, Samuel R. Blackburn
  15. **
  16. ** $Workfile: $
  17. ** $Revision: $
  18. ** $Modtime: $
  19. */
  20.  
  21. #define LISTENING_SOCKET_CLASS_HEADER
  22.  
  23. class CListeningSocket : public CSimpleSocket
  24. {
  25.    private:
  26.  
  27.       SOCKET m_ServerSocketID; // Used in listen()
  28.  
  29.       int m_NumberOfSimultaneousSocketsToAllow;
  30.  
  31.       void m_Initialize( void );
  32.  
  33.    public:
  34.  
  35.       CListeningSocket();
  36.       CListeningSocket( SOCKET client_id );
  37.  
  38.       /*
  39.       ** Destructor should be virtual according to MSJ article in Sept 1992
  40.       ** "Do More with Less Code:..."
  41.       */
  42.  
  43.       virtual ~CListeningSocket();
  44.  
  45.       virtual void OnNewConnection( SOCKET socket_id, const char *host_name, const char *dotted_ip_address_string ) = 0; // Called by WaitForConnection
  46.       virtual BOOL Open( void );
  47.       virtual BOOL Open( const char *channel_name, UINT port_number = 23, CFileException * perror = NULL );
  48.       virtual BOOL WaitForConnection( const char *p_name );
  49.       virtual BOOL WaitForConnection( const int p_number );
  50.       virtual BOOL WaitForConnection( void );
  51.  
  52. #if defined( _DEBUG )
  53.  
  54.       virtual void Dump( CDumpContext& dc ) const;
  55.  
  56. #endif // _DEBUG
  57. };
  58.  
  59. #endif // LISTENING_SOCKET_CLASS_HEADER
  60.